#pragma once

#include <FSTREAM>
#include <VECTOR>

class CCompositeIFstream
{
public:
	CCompositeIFstream(void);
	~CCompositeIFstream(void);

	bool Open(const char* filename);
	bool Open(const wchar_t* filename);

	void Close();
	
	void Reset();

	float Get(long long id);
	void GetFrame( float* frame_data );
	void GetFrame( unsigned int frame_id, float*& frame_data );

	int GetResolution()
	{
		return m_nResolution;
	};

	int GetNumFrames()
	{
		return m_nNumFrames;
	};

private:
	std::vector<std::ifstream*> m_Streams;
	int m_nNumFrames;
	int m_nResolution;
	int m_nResolution3;
	int m_nCurrentFrameID;	
	int m_nNumFramesPack;
};
